package com.glsc.ngateway.common.base.domain.mysql.opmanage.report.excel;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name = "t_subhk_fund_pnltrdlvrepo")
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
@IdClass(PnLTrdLvRepoId.class)
public class PnLTrdLvRepo {
    @Id
    @Column(name="Ticket")
    @ExcelProperty("Ticket")
    private Integer ticket;

    @Column(name="Status")
    @ExcelProperty("Status")
    private String status;

    @Column(name="TermType")
    @ExcelProperty("TermType")
    private String termType;

    @Column(name="PF")
    @ExcelProperty("PF")
    private String pf;

    @Column(name="InstrType")
    @ExcelProperty("InstrType")
    private String instrType;

    @Column(name="BS")
    @ExcelProperty("BS")
    private String bs;

    @Id
    @Column(name="InputDt")
    @ExcelProperty("InputDt")
    private Date inputDt;

    @Id
    @Column(name="TrdDt")
    @ExcelProperty("TrdDt")
    private Date trdDt;

    @Id
    @Column(name="SettDt")
    @ExcelProperty("SettDt")
    private Date settDt;

    @Column(name="TermDt")
    @ExcelProperty("TermDt")
    private Date termDt;

    @Column(name="UdlyInstrNm")
    @ExcelProperty("UdlyInstrNm")
    private String udlyInstrNm;

    @Column(name="UdlyISIN")
    @ExcelProperty("UdlyISIN")
    private String udlyISIN;

    @Column(name="CptyNbr")
    @ExcelProperty("CptyNbr")
    private String cptyNbr;

    @Column(name="CptyNm")
    @ExcelProperty("CptyNm")
    private String cptyNm;

    @Column(name="FaceValue")
    @ExcelProperty("FaceValue")
    private Double faceValue;

    @Column(name="Price")
    @ExcelProperty("Price")
    private Double price;

    @Column(name="AllInPrice")
    @ExcelProperty("AllInPrice")
    private Double allInPrice;

    @Column(name="Rate")
    @ExcelProperty("Rate")
    private Double rate;

    @Column(name="HairCutRate")
    @ExcelProperty("HairCutRate")
    private Double hairCutRate;

    @Column(name="FxRate")
    @ExcelProperty("FxRate")
    private Double fxRate;

    @Column(name="TrdCcy")
    @ExcelProperty("TrdCcy")
    private String trdCcy;

    @Column(name="SettCcy")
    @ExcelProperty("SettCcy")
    private String settCcy;

    @Column(name="LoanAmtBeforeHC")
    @ExcelProperty("LoanAmtBeforeHC")
    private Double loanAmtBeforeHC;

    @Column(name="LoanAmtAfterHC")
    @ExcelProperty("LoanAmtAfterHC")
    private Double loanAmtAfterHC;

    @Column(name="TermAmt")
    @ExcelProperty("TermAmt")
    private Double termAmt;

    @Column(name="TPL")
    @ExcelProperty("TPL")
    private Double tpl;

    @Column(name="UPL")
    @ExcelProperty("UPL")
    private Double upl;

    @Column(name="RPL")
    @ExcelProperty("RPL")
    private Double rpl;

    @Column(name="Carry")
    @ExcelProperty("Carry")
    private Double carry;

    @Column(name="YTPL")
    @ExcelProperty("YTPL")
    private Double ytpl;

    @Column(name="YUPL")
    @ExcelProperty("YUPL")
    private Double yupl;

    @Column(name="YRPL")
    @ExcelProperty("YRPL")
    private Double yrpl;

    @Column(name="YCarry")
    @ExcelProperty("YCarry")
    private Double yCarry;

    @Column(name="MTPL")
    @ExcelProperty("MTPL")
    private Double mtpl;

    @Column(name="MUPL")
    @ExcelProperty("MUPL")
    private Double mupl;

    @Column(name="`MRPL`")
    @ExcelProperty("MRPL")
    private Double mrpl;

    @Column(name="`MCarry`")
    @ExcelProperty("MCarry")
    private Double mCarry;

    @Column(name="DTPL")
    @ExcelProperty("DTPL")
    private Double dtpl;

    @Column(name="DUPL")
    @ExcelProperty("DUPL")
    private Double dupl;

    @Column(name="DRPL")
    @ExcelProperty("DRPL")
    private Double drpl;

    @Column(name="DCarry")
    @ExcelProperty("DCarry")
    private Double dCarry;

    @Column(name="DayCount")
    @ExcelProperty("DayCount")
    private Double dayCount;

    @Column(name="StartDt")
    @ExcelProperty("StartDt")
    private Date startDt;

    @Column(name="EndDt")
    @ExcelProperty("EndDt")
    private Date endDt;

    @Column(name="NoOfDay")
    @ExcelProperty("NoOfDay")
    private Integer noOfDay;

    @Column(name="YTDStartDt")
    @ExcelProperty("YTDStartDt")
    private Date ytdStartDt;

    @Column(name="YTDEndDt")
    @ExcelProperty("YTDEndDt")
    private Date ytdEndDt;

    @Column(name="YTDNoOfDay")
    @ExcelProperty("YTDNoOfDay")
    private Integer ytdNoOfDay;

    @Column(name="MTDStartDt")
    @ExcelProperty("MTDStartDt")
    private Date mtdStartDay;

    @Column(name="MTDEndDt")
    @ExcelProperty("MTDEndDt")
    private Date mtdEndDay;

    @Column(name="MTDNoOfDay")
    @ExcelProperty("MTDNoOfDay")
    private Integer mtdNoOfDay;

    @Column(name="TicketType")
    @ExcelProperty("TicketType")
    private String ticketType;

    @Column(name="RptDt")
    @ExcelProperty("RptDt")
    private String rptDt;

    @Column(name="IsReRate")
    @ExcelProperty("IsReRate")
    private String isReRate;

    @Column(name="NoOfReRate")
    @ExcelProperty("NoOfReRate")
    private Integer noOfReRate;

    @Column(name="LastReRateDay")
    @ExcelProperty("LastReRateDay")
    private Date lastReRateDay;

//    @Column(name="fl_fundid")
//    @ExcelProperty("fundId")
//    private Integer fundId;

    @Id
    @Column(name="fd_date")
    private Date date;

    @Id
    @Column(name="fc_fundname")
    private String fundname;

    public Integer getTicket() {
        return ticket;
    }

    public void setTicket(Integer ticket) {
        this.ticket = ticket;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getTermType() {
        return termType;
    }

    public void setTermType(String termType) {
        this.termType = termType;
    }

    public String getPf() {
        return pf;
    }

    public void setPf(String pf) {
        this.pf = pf;
    }

    public void setInstrType(String instrType) {
        this.instrType = instrType;
    }

    public String getInstrType() {
        return instrType;
    }

    public void setBs(String bs) {
        this.bs = bs;
    }

    public String getBs() {
        return bs;
    }

    public Date getInputDt() {
        return inputDt;
    }

    public void setInputDt(Date inputDt) {
        this.inputDt = inputDt;
    }

    public Date getTrdDt() {
        return trdDt;
    }

    public void setTrdDt(Date trdDt) {
        this.trdDt = trdDt;
    }

    public Date getSettDt() {
        return settDt;
    }

    public void setSettDt(Date settDt) {
        this.settDt = settDt;
    }

    public Date getTermDt() {
        return termDt;
    }

    public void setTermDt(Date termDt) {
        this.termDt = termDt;
    }

    public String getUdlyInstrNm() {
        return udlyInstrNm;
    }

    public void setUdlyInstrNm(String udlyInstrNm) {
        this.udlyInstrNm = udlyInstrNm;
    }

    public String getUdlyISIN() {
        return udlyISIN;
    }

    public void setUdlyISIN(String udlyISIN) {
        this.udlyISIN = udlyISIN;
    }

    public String getCptyNbr() {
        return cptyNbr;
    }

    public void setCptyNbr(String cptyNbr) {
        this.cptyNbr = cptyNbr;
    }

    public String getCptyNm() {
        return cptyNm;
    }

    public void setCptyNm(String cptyNm) {
        this.cptyNm = cptyNm;
    }

    public Double getFaceValue() {
        return faceValue;
    }

    public void setFaceValue(Double faceValue) {
        this.faceValue = faceValue;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public Double getPrice() {
        return price;
    }

    public Double getAllInPrice() {
        return allInPrice;
    }

    public void setAllInPrice(Double allInPrice) {
        this.allInPrice = allInPrice;
    }

    public Double getRate() {
        return rate;
    }

    public void setRate(Double rate) {
        this.rate = rate;
    }

    public Double getHairCutRate() {
        return hairCutRate;
    }

    public void setHairCutRate(Double hairCutRate) {
        this.hairCutRate = hairCutRate;
    }

    public void setFxRate(Double fxRate) {
        this.fxRate = fxRate;
    }

    public Double getFxRate() {
        return fxRate;
    }

    public String getTrdCcy() {
        return trdCcy;
    }

    public void setTrdCcy(String trdCcy) {
        this.trdCcy = trdCcy;
    }

    public void setSettCcy(String settCcy) {
        this.settCcy = settCcy;
    }

    public String getSettCcy() {
        return settCcy;
    }

    public Double getLoanAmtAfterHC() {
        return loanAmtAfterHC;
    }

    public Double getLoanAmtBeforeHC() {
        return loanAmtBeforeHC;
    }

    public void setLoanAmtAfterHC(Double loanAmtAfterHC) {
        this.loanAmtAfterHC = loanAmtAfterHC;
    }

    public void setLoanAmtBeforeHC(Double loanAmtBeforeHC) {
        this.loanAmtBeforeHC = loanAmtBeforeHC;
    }

    public Double getTermAmt() {
        return termAmt;
    }

    public void setTermAmt(Double termAmt) {
        this.termAmt = termAmt;
    }

    public void setTpl(Double tpl) {
        this.tpl = tpl;
    }

    public Double getTpl() {
        return tpl;
    }

    public Double getUpl() {
        return upl;
    }

    public void setUpl(Double upl) {
        this.upl = upl;
    }

    public Double getRpl() {
        return rpl;
    }

    public void setRpl(Double rpl) {
        this.rpl = rpl;
    }

    public Double getCarry() {
        return carry;
    }

    public void setCarry(Double carry) {
        this.carry = carry;
    }

    public void setYtpl(Double ytpl) {
        this.ytpl = ytpl;
    }

    public Double getYtpl() {
        return ytpl;
    }

    public Double getYupl() {
        return yupl;
    }

    public void setYupl(Double yupl) {
        this.yupl = yupl;
    }

    public Double getYrpl() {
        return yrpl;
    }

    public void setYrpl(Double yrpl) {
        this.yrpl = yrpl;
    }

    public Double getyCarry() {
        return yCarry;
    }

    public void setyCarry(Double yCarry) {
        this.yCarry = yCarry;
    }

    public void setMtpl(Double mtpl) {
        this.mtpl = mtpl;
    }

    public Double getMtpl() {
        return mtpl;
    }

    public Double getMupl() {
        return mupl;
    }

    public void setMupl(Double mupl) {
        this.mupl = mupl;
    }

    public Double getMrpl() {
        return mrpl;
    }

    public void setMrpl(Double mrpl) {
        this.mrpl = mrpl;
    }

    public Double getmCarry() {
        return mCarry;
    }

    public void setmCarry(Double mCarry) {
        this.mCarry = mCarry;
    }

    public void setDtpl(Double dtpl) {
        this.dtpl = dtpl;
    }

    public Double getDtpl() {
        return dtpl;
    }

    public Double getDupl() {
        return dupl;
    }

    public void setDupl(Double dupl) {
        this.dupl = dupl;
    }

    public Double getDrpl() {
        return drpl;
    }

    public void setDrpl(Double drpl) {
        this.drpl = drpl;
    }

    public Double getdCarry() {
        return dCarry;
    }

    public void setdCarry(Double dCarry) {
        this.dCarry = dCarry;
    }

    public void setDayCount(Double dayCount) {
        this.dayCount = dayCount;
    }

    public Double getDayCount() {
        return dayCount;
    }

    public Date getStartDt() {
        return startDt;
    }

    public void setStartDt(Date startDt) {
        this.startDt = startDt;
    }

    public Date getEndDt() {
        return endDt;
    }

    public void setEndDt(Date endDt) {
        this.endDt = endDt;
    }

    public void setNoOfDay(Integer noOfDay) {
        this.noOfDay = noOfDay;
    }

    public Integer getNoOfDay() {
        return noOfDay;
    }

    public Date getYtdEndDt() {
        return ytdEndDt;
    }

    public void setYtdEndDt(Date ytdEndDt) {
        this.ytdEndDt = ytdEndDt;
    }

    public Date getYtdStartDt() {
        return ytdStartDt;
    }

    public void setYtdStartDt(Date ytdStartDt) {
        this.ytdStartDt = ytdStartDt;
    }

    public void setYtdNoOfDay(Integer ytdNoOfDay) {
        this.ytdNoOfDay = ytdNoOfDay;
    }

    public Integer getYtdNoOfDay() {
        return ytdNoOfDay;
    }

    public void setMtdNoOfDay(Integer mtdNoOfDay) {
        this.mtdNoOfDay = mtdNoOfDay;
    }

    public Integer getMtdNoOfDay() {
        return mtdNoOfDay;
    }

    public void setMtdStartDay(Date mtdStartDay) {
        this.mtdStartDay = mtdStartDay;
    }

    public Date getMtdStartDay() {
        return mtdStartDay;
    }

    public void setMtdEndDay(Date mtdEndDay) {
        this.mtdEndDay = mtdEndDay;
    }

    public Date getMtdEndDay() {
        return mtdEndDay;
    }

    public void setTicketType(String ticketType) {
        this.ticketType = ticketType;
    }

    public String getTicketType() {
        return ticketType;
    }

    public void setRptDt(String rptDt) {
        this.rptDt = rptDt;
    }

    public String getRptDt() {
        return rptDt;
    }

    public String getFundName() {
        return fundname;
    }

    public void setFundName(String fundname) {
        this.fundname = fundname;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public Date getDate() {
        return date;
    }

    public String getIsReRate() {
        return isReRate;
    }

    public void setIsReRate(String isReRate) {
        this.isReRate = isReRate;
    }

    public Integer getNoOfReRate() {
        return noOfReRate;
    }

    public void setNoOfReRate(Integer noOfReRate) {
        this.noOfReRate = noOfReRate;
    }

    public Date getLastReRateDay() {
        return lastReRateDay;
    }

    public void setLastReRateDay(Date lastReRateDay) {
        this.lastReRateDay = lastReRateDay;
    }
}
